在 SMTP Mail 之後,今天要跟大家介紹第二種通知方式 Custom alertscripts ,發送 LINE 通知訊息。
本文參考 這篇實作:https://dotblogs.com.tw/xerion30476/2019/08/28/153643
一開始因為沒事不會去打開 Zabbix 網頁查看有沒有問題,後來設定了 SMTP Mail 通知,一開始很新鮮,但後來因為常常被其他 Mail 埋沒了,為了讓問題不被埋沒,所以開始了 Line 通知的旅程。
想在 LINE 上收到 Zabbix 通知大致分成五個步驟
LINE Notify:https://notify-bot.line.me/zh_TW/
登入LINE Notify→個人頁面→發行權杖→選擇要發送訊息的群組、權杖名稱→發行→取得權杖
點選個人頁面
點選發行權杖
填寫權杖名稱 到時候會顯示再通知上面
選擇 要發送訊息的群組 就可以送出了(我們選擇 維運群組,這樣只要群組內大家就都看的到了)
可以把 LINE 權杖(Token)複製下來了
LINE 設定告一段落了
檔案名稱不一定要叫line_notify.sh
vim /usr/lib/zabbix/alertscripts/line_notify.sh
#!/bin/bash
# LINE Notify Token - Media > "Send to".
TOKEN="$1"
# {ALERT.SUBJECT}
subject="$2"
# {ALERT.MESSAGE}
message="$3"
curl https://notify-api.line.me/api/notify -H "Authorization: Bearer ${TOKEN}" -F "message=${message}"
指定 zabbix 為使用者 ,並給予可執行的權限
chmod 775 /usr/lib/zabbix/alertscripts/line_notify.sh
chown zabbix:zabbix /usr/lib/zabbix/alertscripts/line_notify.sh
Media Type 這邊偷吃步一下 點選Email 然後 點選 clone 複製改成 如下圖:
clone 的原因 可以省下 Message Templates 及 Options 就不用再多做設定
Script parameter 參數是有順序性的 (我有白目測試確實會壞掉)
https://www.zabbix.com/documentation/5.0/manual/config/notifications/media/script
設定完有個 Test 按鈕
Send to : 貼上 LINE 權杖(Token)複製
成功測試
接下來要到 Administration → Users
選擇需要 通知的使用者(我是都偷懶 Administrator ) → 選擇 Media 分頁 → Media Add
Type: Line
Send to : 貼上 LINE 權杖(Token)複製
記得Add完要 Update 不然會沒有存到喔
到 Configuration → Actions
因為我是設定Admin 所以將 Report problems to Zabbix administrators → Enabled
若是使用其他帳號在clone Report problems to Zabbix administrators 進行設定即可。
完成後就大功告成~
圖為製造發生問題時的通知
其實 LINE Notify 也是 Webhook 的一種XD,只是大多數人都用 Script 實作。
附上 Webhook 的方式(不用再寫腳本瞜)
https://share.zabbix.com/zabbix-tools-and-utilities/cat-notifications/zabbix-line-notify
內容如有介紹不周的地方,再麻煩大家提點,感激不盡。
同步發表 行雲部落格 再麻煩大家多多指教 謝謝
行雲者研發基地官網 粉絲專頁